---
title: Introduction to Apollo Client
subtitle: Learn how Apollo Client simplifies GraphQL data management to help build web apps
description: Discover Apollo Client, a powerful state management library for JavaScript. Learn how it simplifies fetching, caching, and more with GraphQL.
---

**Apollo Client** is a comprehensive GraphQL state management library for JavaScript. It enables you to manage both local and remote data with GraphQL. Use it to fetch, cache, and modify application data, all while automatically updating your UI.

Apollo Client helps you structure code in an economical, predictable, and declarative way that's consistent with modern development practices. The core `@apollo/client` library provides built-in integration with React, and the larger Apollo community maintains [integrations for other popular view layers](#community-integrations).

<ButtonLink size="lg" href="/react/get-started/" colorScheme="navy">
  Get started!
</ButtonLink>

## Core features

Some of Apollo Client's core capabilities include:

- **Declarative data fetching:** Write a query and receive data without manually tracking loading states.
- **Normalized request and response caching:** Boost performance by responding almost immediately to queries with cached data.
- **Excellent developer experience:** Enjoy helpful tooling for TypeScript, Chrome / Firefox devtools, and VS Code.
- **Designed for modern React:** Take advantage of the latest React features, such as hooks and Suspense.
- **Incrementally adoptable:** Drop Apollo Client into any JavaScript or TypeScript app and incorporate it feature by feature.
- **Universally compatible:** Use any build setup and any GraphQL API.
- **Community driven:** Share knowledge with thousands of developers in the GraphQL community.

## GraphOS supported features

Apollo Client works seamlessly with these GraphOS router supported features:

- Receiving data for specific fields incrementally with the [`@defer` directive](/graphos/operations/defer)
- Real-time updates via [GraphQL subscriptions](/graphos/operations/subscriptions)
- Safelisting with [persisted queries](/graphos/operations/persisted-queries)

<Note>

Apollo Client also supports `@defer` and GraphQL subscription implementations outside of GraphOS. See the [Defer](./react/data/defer) guide and [Subscriptions](./react/data/subscriptions) guide for more information.

</Note>

## Recommended docs

After you [get started](/react/get-started/), check out the full Apollo Client documentation in the navigation.

We recommend the following articles in particular:

- [**Queries**](/react/data/queries/). Learn how to fetch and render data using GraphQL queries.
- [**Fragments**](/react/data/fragments/). Learn how to use fragments and data masking to build robust, data-driven components.
- [**Mutations**](/react/data/mutations/). Learn how to modify data using GraphQL mutations.
- [**Caching overview**](/react/caching/overview/). Apollo Client's normalized cache enables you to skip network requests entirely when data is already available locally.
- [**Managing local state**](/react/local-state/local-state-management/). Apollo Client provides APIs for managing both remote and local data, enabling you to consolidate all of your application's state.
- [**Basic HTTP networking**](/react/networking/basic-http-networking/). Learn how to send custom headers and other authentication metadata in your queries.
- [**Testing React components**](/react/development-testing/testing/). Test your GraphQL operations without requiring a connection to a server.

## Community integrations

This documentation set focuses on React, but Apollo Client supports many other libraries and languages:

- JavaScript
  - [Angular](/react/integrations/integrations/#angular)
  - [Vue](/react/integrations/integrations/#vue)
  - [Svelte](/react/integrations/integrations/#svelte)
  - [Solid.js](/react/integrations/integrations/#solidjs)
  - [Ember](/react/integrations/integrations/#ember)
  - [Meteor](https://www.meteor.com) (thanks to [DDP-Apollo](https://github.com/Swydo/ddp-apollo))
- Web Components
  - [Apollo Elements](/react/integrations/integrations/#web-components)
- Native mobile
  - [Native iOS with Swift](/ios)
  - [Native Android with Java and Kotlin](/kotlin)
